Integrate with External Data Catalogs
The Calibo Accelerate platform provides webhooks for implementation of cataloging using tools such as Colibra, Alation and so on. Lazsa can invoke the underlying catalog implementation that the vendor implements according to contract specifications.
Lazsa and External Catalog Adapter Integration
Catalog entities
Every catalog tool must support features for the following entities. These properties together become an asset which is core subject of any catalog tool.
-
Domain
-
Asset
-
Attributes
-
Tags
-
Metadata
-
Table details
-
Owner
-
Contributor
-
Follower
-
Following
-
Related Assets
-
Rating
-
Comments
Lazsa provides various interfaces to provide catalog-specific features.
-
Authentication Interface - Facilitates user authentication before performing any operation. This will return a token that can be used for further operations.
-
Asset CRUD Interface - Provides a list of all methods related to CRUD operations of an Asset also other CRUD operations related to rating, comments, relation etc.
-
Asset Search Interface - Dedicated to search that will provide various methods to search any given asset of any type. This will provide complex search operations where user can search by single or multiple attributes.
The following diagram shows a list of interfaces and classes.
Authentication API
Function | API | Payload |
---|---|---|
Authenticate | /auth/authenticate |
|
Asset API
Function | API | Payload |
---|---|---|
Create Asset | Post/asset/asset |
USER_TOKEN <Goes here...> |
Delete Asset | ||
Modify Asset |
Asset Search API
Function | API | Payload |
---|---|---|
Search by ID | GET /asset/assetid |
|
Search by other attributes |
|
Asset Relation API
Function | API | Payload |
---|---|---|
Search by ID | GET /asset/asset |
|
Interfaces, Classes and Entities
The list of interfaces, entity classes, and service interfaces are provided by Lazsa as a library and have to be implemented by the vendor for tool-specific implementation.
Class Asset {
Id,
Name,
Description,
Owner,
Rating,
Comments;
}
Class Rating {
Long assetId;
Float rating;
}
Class Comments {
Long assetId;
String comments;
}
Public interface Authenticate {
public authenticate(User user);
Public getToken(Token token);
}
Public interface CatalogService {
Public long createAsset(Asset);
Public void updateAsset(Asset);
Public void deleteAsset(Asset);
Public List<Asset> getAssets(SearchCritera);
Public Metadata getMetadata(Asset);
Public void addComments(Long Id, Comments);
Public void addRatings(Long Id, Ratings);
}
What's next? Deploying Adapters |